flip.coin {animation}R Documentation

Probability in flipping coins

Description

In the first class of learning probability theory, we usually begin with flipping coins or tossing dice. This function provides a simulation to such a process and computes the frequency for `heads' and `tails'.

Usage

flip.coin(faces = 2, prob = NULL, border = "white", grid = "white",
    col = 1:2, type = "p", pch = 21, bg = "transparent",
    digits = 3)

Arguments

faces an integer or a character vector. See details below.
prob the probability vector of showing each face. If NULL, each face will be shown in the same probability.
border The border style for the rectangles which stand for probabilities.
grid the color for horizontal grid lines in these rectangles
col The colors to annotate different faces of the `coin'.
type, pch, bg See points.
digits integer indicating the precision to be used in the annotation of frequencies in the plot

Details

If faces is a single integer, say 2, a sequence of integers from 1 to faces will be used to denote the faces of a coin; otherwise this character vector just gives the names of each face.

When the i-th face shows up, a colored thin rectangle will be added to the corresponding place (the i-th bar), and there will be corresponding annotations for the number of tosses and frequencies.

The special argument grid is for consideration of a too large number of flipping, in which case if you still draw horizontal lines in these rectangles, the rectangles will be completely covered by these lines, thus we should specify it as NA.

At last the frequency for each face will be computed and shown in the header of the plot – this shall be close to prob if nmax is large enough.

Value

A list containing

freq A vector of frequencies (simulated probabilities)
nmax the total number of tosses

Note

You may change the colors of each face using the argument col (repeated if shorter than the number of faces).

Author(s)

Yihui Xie

References

http://animation.yihui.name/prob:flipping_coins

See Also

ani.start, ani.stop

Examples


oopt = ani.options(interval = 0.2, nmax = 100)
# a coin would stand on the table?? just kidding :) 
flip.coin(faces = c("Head", "Stand", "Tail"), type = "n",
    prob = c(0.45, 0.1, 0.45), col =c(1, 2, 4))

flip.coin(bg = "yellow")

## Not run: 
 
# HTML animation page
ani.options(ani.height = 500, ani.width = 600, outdir = getwd(), interval = 0.2,
    nmax = 50, title = "Probability in flipping coins",
    description = "This animation has provided a simulation of flipping coins,
    which might be helpful in understanding the concept of probability.")
ani.start()
par(mar = c(2, 3, 2, 1.5), mgp = c(1.5, 0.5, 0))
flip.coin(faces = c("Head", "Stand", "Tail"), type = "n",
    prob = c(0.45, 0.1, 0.45), col =c(1, 2, 4))
ani.stop()
## End(Not run)
ani.options(oopt)

[Package animation version 1.0-1 Index]